package org.lpw.wormhole.util;

/**
 * 日志管理器。
 * 
 * @author lpw
 */
public interface Logger
{
    /**
     * 判断是否允许输出DEBUF级别的日志信息。
     * 
     * @return 如果允许则返回true；否则返回false。
     */
    public boolean isDebugEnable();

    /**
     * 输出DEBUG级别的日志信息。
     * 
     * @param message
     *            日志信息。
     */
    public void debug(String message);

    /**
     * 判断是否允许输出INFO级别的日志信息。
     * 
     * @return 如果允许则返回true；否则返回false。
     */
    public boolean isInfoEnable();

    /**
     * 输出INFO级别的日志信息。
     * 
     * @param message
     *            日志信息。
     */
    public void info(String message);

    /**
     * 输出WARN级别的日志信息。
     * 
     * @param throwable
     *            异常信息，如果非异常信息可置为null。
     * @param message
     *            日志信息。
     */
    public void warn(Throwable throwable, String message);
}
